Organizations use enterprise resource planning (ERP), customer relationship management (CRM), and other business management systems to manage business processes and workflows. These systems may include various subcomponents to manage different tasks in a workflow. For example, an order management system may generate an order form, supply the form to a prospective purchaser, and process the completed form submitted by the purchaser. A delivery management system may instruct an entity to initiate delivery of the ordered items in the completed order form and track the status of the order items throughout the delivery process.
Each of these subcomponents may be wholly independent from each other, in that the subcomponents may not directly communicate with each other. Thus, in the above example, the order management system may not directly communicate with the delivery management system. Although these subcomponents may not directly communicate, a business workflow may still require tasks and functions to be completed in a specific order. For example, an order form may have to be completed and processed before goods may be delivered.
To preserve order and continuity in the workflow, each of the subcomponents may update a status field of a object in a database. Once a subcomponent has completed its assigned tasks on an object, the subcomponent may update the status field for the object in the database accordingly. A second subcomponent in the workflow may be configured to check the status field of objects in the database and begin processing objects with a status field indicating that the prior subcomponent in the workflow has been completed. This ensures that the second subcomponent is not processed out of sequence.